#ifndef GOOLNN_CANGYAN_FILE_IMAGE
#define GOOLNN_CANGYAN_FILE_IMAGE

#include <QImage>

#include "file/Note.hpp"

class Image{
    private:
        QImage image;

        QList<Note> notes;
    
    public:
        Image(Byte* imageData, unsigned int imageDataSize);
        Image(QImage image);

        void addNote(unsigned short x, unsigned short y, QString initialText, QString proofreadingText);

        void removeNote(Byte index);

        void setImage(QImage image);

        void setNoteX(Byte index, unsigned short x);
        void setNoteY(Byte index, unsigned short y);

        void setNoteInitialText(Byte index, QString initialText);
        void setNoteProofreadingText(Byte index, QString proofreadingText);

        QImage getImage();

        unsigned short getWidth();
        unsigned short getHeight();

        Note getNote(Byte index);

        Byte getNotesCount();

        unsigned short getNoteX(Byte index);
        unsigned short getNoteY(Byte index);

        QString getNoteInitialText(Byte index);
        QString getNoteProofreadingText(Byte index);

};

#endif
